package com.work.cos.mapper.base;

import java.util.List;

import com.work.cos.domain.entity.SystemConfigEntity;
import org.apache.ibatis.annotations.Param;

public interface ISystemConfigMapper {
	
	/**
     * 查询系统配置表中的所有信息
     * @param id
     * @return
     */
	List<SystemConfigEntity> findAllSystemConfig();
	
	/**
     * 根据关键字查询系统配置信息
     * @param configKey
     * @return
     */
	SystemConfigEntity findSystemConfigByConfigKey(@Param("configKey") String configKey);
	
	/**
	 * 根据关键字查询值
	 * @param configKey
	 * @return
	 */
	String findConfigValueByConfigKey(@Param("configKey") String configKey);
	
	/**
     * 修改
     * @param id
     * @param configValue
     * @return
     */
	int updateSystemConfig(@Param("configKey") String configKey, @Param("configValue") String configValue);
	
	/**
	 * 查询
	 * @param configKey
	 * @param name
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	List<SystemConfigEntity> findSystemConfigByNameAndKey(SystemConfigEntity systemConfigInfo);
	/**
	 * 新增
	 * @param systemConfig
	 * @return
	 */
	int addSystemConfig(SystemConfigEntity systemConfig);
	/**
	 * 修改
	 * @param systemConfig
	 * @return
	 */
	int updateAllSystemConfig(SystemConfigEntity systemConfig);
	/**
	 * 删除
	 * @param id
	 * @return
	 */
	int deleteSystemConfig(@Param("id") Long id);
	/**
	 * 根据ID查找配置
	 * @param id
	 * @return
	 */
	SystemConfigEntity getSystemConfigById(@Param("id") Long id);
	
	int findCountByNameAndKey(SystemConfigEntity systemConfigInfo);

	/**
	 * 引导页面接口
	 * @param systemConfigInfo
	 * @return
     */
	List<SystemConfigEntity> getSystemConfigList(SystemConfigEntity systemConfigInfo);
	
	
	List<SystemConfigEntity> findSystemToDownList(SystemConfigEntity config);
}
